The present invention relates to a signal processing method and device, and more particularly, to a method and device for performing inverse orthogonal transform in block-unit for an image signal for which high-speed processing is required.
In recent years, high-efficiency coding technologies for moving images, such as MPEG, have increasingly been studied and found applications in various fields such as computers, communications, AV equipment and broadcasting.
In such coding technologies, an image compression technology is employed in which an image is divided into a plurality of small blocks so that coding be made sequentially in units of blocks. That is, intra-frame prediction coding (hereinafter, called intra-coding) in which reduction (compression) in information amount is intended by attempting to reduce intra-frame spatial redundancy and inter-frame prediction coding (hereinafter, called inter-coding) in which reduction (compression) in information amount is intended by attempting to reduce inter-frame temporal redundancy are employed, to achieve high-efficiency coding.
The above coding technologies will be briefly described with reference to FIG. 15. FIG. 15 shows a general MPEG coding device. Referring to FIG. 15, an image signal in blocks is input into an orthogonal transform circuit 90. The image signal as used herein refers to an image signal of a frame to be coded in the intra-coding and to a differential signal between a frame to be coded and a prediction (reference) frame in the inter-coding. The image signal in blocks input into the orthogonal transform circuit 90 is then subjected to discrete cosine transform (DCT, herein called orthogonal transform) to produce orthogonal transform coefficients.
Subsequently, to enhance the coding efficiency, a quantization circuit 91 quantizes the orthogonal transform coefficients, that is, removes high-frequency components of the orthogonal transform coefficients, to obtain quantized coefficients. The quantized coefficients are then input into a coding circuit 92 where run-length coding and entropy coding are performed to produce a bitstream.
Meanwhile, to produce a reference image required for inter-coding of the next frame, local decoding of the current frame is performed. Specifically, after completion of the coding by the coding circuit 92, the quantized coefficients from the quantization circuit 91 are input into an inverse quantization circuit 93 to be subjected to inverse quantization, and then input into an inverse orthogonal transform circuit 94 to be subjected to inverse orthogonal transform, to thereby restore an image signal.
Next, a decoding technology will be briefly described with reference to FIG. 16. A coded bitstream from the coding circuit 92 and the like is input into a decoding circuit 94 and subjected to entropy decoding and run-length decoding to produce quantized coefficients. The quantized coefficients are then input into an inverse quantization circuit 95 and subjected to inverse quantization to obtain orthogonal transform coefficients. The orthogonal transform coefficients are then subjected to inverse orthogonal transform in an inverse orthogonal transform circuit 96, to thereby restore an image signal.
In the MPEG coding and decoding described above, orthogonal transform and inverse orthogonal transform require execution of multiply and accumulate operation including a decimal fraction, as described in ISO/IEC 1449 6-2. Annex A, for example. This execution involves an enormous amount of processing, and thus a large problem arises in achievement of speedup in coding and decoding.
With the recent progress in enhancement in quality of images, as represented by the start of digital broadcasting, the advent of high-definition cameras and the like, speedup in coding and decoding has been increasingly demanded in the coding technologies such as MPEG. It has however been difficult to respond to this demand due to the problem described above.
To overcome the above problem, a technology for speeding up decoding as disclosed in Japanese Laid-Open Patent Publication No. 10-327412, for example, is conventionally known. The technology disclosed in this publication will be briefly described.
FIG. 17 shows an example of a typical decoding device disclosed in the aforementioned publication. This decoding device is largely different from the preceding decoding device in that the former includes a first constant generation circuit 97 for generating a constant zero and a first selection circuit 98 for receiving the output (constant zero) of the first constant generation circuit 97 and orthogonal transform coefficients from the inverse orthogonal transform circuit 96 to select either one of the two inputs, in addition to the decoding circuit 94, the inverse quantization circuit 95 and the inverse orthogonal transform circuit 96 described above.
The decoding method in the decoding device of FIG. 17 will be described. A bitstream is input into the decoding circuit 94 to be subjected to decoding. In MPEG, coding has been made in the unit called macro-block composed of six blocks (8×8 pixels) as shown in FIG. 18, and thus decoding will also be made in this unit. By this macro-block decoding, obtained are not only quantized coefficients but also parameters called coded block patterns (CBP). The CBP is a flag indicating whether or not a nonzero value exists as a quantized coefficient in each of the blocks constituting a macro-block, with each flag corresponding to each of the six blocks of the macro-block.
FIG. 19 shows a specific example of the parameters CBP obtained from the decoding circuit 94. Referring to FIG. 19, a macro-block is composed of a total of six blocks, that is, four luminance component blocks Y0, Y1, Y2 and Y3 and two color-difference component blocks Cb and Cr. Assume that CBP=110101 was obtained as a result of the decoding. This indicates that at least one nonzero quantized coefficient exists in the four blocks Y0, Y1, Y3 and Cr (hatched blocks in FIG. 19). This also indicates that in the remaining two blocks Y2 and Cb of which CBP=0, all quantized coefficients included in these blocks are 0 (zero). In this manner, whether or not all quantized coefficients in each block are 0 (zero) can be determined with the parameters CBP obtained from the results of the decoding by the decoding circuit 94.
In the example described above, in each of the blocks Y0, Y1, Y3 and Cr of which CBP=1, at least one nonzero quantized coefficient is included. Therefore, after the decoding, such a coefficient is subjected to inverse quantization and inverse orthogonal transform. The first selection circuit 98 selects the output of the inverse orthogonal transform circuit 96 based on the CBP of 1, to thereby restore an image signal.
In each of the blocks Y2 and Cb of which CBP=0, all quantized coefficients are 0 (zero). Therefore, no further decoding is necessary. In place of performing the inverse quantization and the inverse orthogonal transform, therefore, the first constant generation circuit 97 generates a restored image signal (all zero) that should be obtained when all quantized coefficients are 0 (zero). The first selection circuit 98 selects the restored image signal (all zero) from the first constant generation circuit 97 based on the CBP of 0.
As described above, in the aforementioned publication, inverse quantization and inverse orthogonal transform involving a large amount of processing are executed only when necessary based on the value of the parameter CBP, to thereby enable speedup in decoding.
Thus, by use of the decoding device described in the aforementioned publication, inverse orthogonal transform involving a large amount of processing may be executed only in the minimum required cases, and thus speedup in decoding can be achieved.
However, the decoding device described in the aforementioned publication has the following drawback. In the cases that an image including many noises has been coded, that the information compression rate in coding is low, and that the coding has been made with a coding device low in motion detection accuracy, among others, an image signal in the inter-frame prediction coding (a differential signal between a prediction frame and the current frame) becomes large, and this reduces the probability that all quantized coefficients in a block will be 0 (zero). In such cases, in the decoding device disclosed in the aforementioned publication, the CBP seldom becomes 0 in decoding of a coded bitstream, and thus the opportunity of selecting the restored image signal (all zero) from the first constant generation circuit 97 little arises. As a result, achievement of speedup in decoding will be difficult.